package com.zbb.online_exam.constant;

/**
 * 定义的是系统中的业务常量
 */
public class BusinessConstant {

    /**
     * 属性描述: Cookie中用于保存Token的Cookie的名字
     */
    public static final String COOKIE_TOKEN_NAME = "token";

    /**
     * 属性描述: 会话的过期时间(s)
     */
    public static final int SESSION_MAX_AGE = 30 * 60;

    /**
     * 属性描述: Redis中保存用户信息的前缀
     */
    public static final String REDIS_USER_PREFIX = "user:";
    /**
     * 属性描述: Redis中保存用户登录的key
     */
    public static final String LOGIN_COUNT = "loginCount";
    /**
     * 属性描述: Redis中保存用户登录的最大次数
     */
    public static final String LOGIN_MAX_COUNT = "3";
    /**
     * 属性描述: Redis中保存用户登录的超过最大次数的错误提示信息
     */
    public static final String ERROR_INFO = "登录过于频繁，账号已被冻结，请您稍后再试...";
    /**
     * 属性描述: 该项目启动的基础路径
     */
    public static final String BASE_URL = "http://localhost:8888/";
    /**
     * 属性描述: 上传下载的前缀路径
     */
    public static final String UPLOAD_ADDRESS_PREFIX = "";
    /**
     * 属性描述: 保存试卷的后缀文件名
     */
    public static final String PAPER_SUFFIX = ".docx";
    /**
     * 属性描述: 保存试卷的后缀文件名
     */
    public static final String PAPER_XIS_SUFFIX = ".xls";
    /**
     * 属性描述: 管理员创建用户时默认的密码(123456)
     * 全局的密码加密类，当前SpringSecurity推荐使用BCryptPasswordEncoder的加密方式
     * 当前静态密码为加密后的123456
     */
    public static final String DEFAULT_PASSWORD = "$2a$10$JLSuq8VrDFqv1n4JhG4WAeNZkfrqJLPJoJu1ZemOxodzyQ0YzFssm";
    /**
     * 属性描述: 管理员创建用户时默认的用户状态
     */
    public static final Integer DEFAULT_STATUS = 1;
    /**
     * 属性描述: 管理员角色编号
     */
    public static final Integer ADMIN_PERMIT_VALUE = 1;
    /**
     * 属性描述: 老师角色编号
     */
    public static final Integer TEACHER_PERMIT_VALUE = 2;
    /**
     * 属性描述: 学生角色编号
     */
    public static final Integer STUDENT_PERMIT_VALUE = 3;
    /**
     * 属性描述: 修改密码
     */
    public static final Integer PWD_PERMIT_VALUE = 4;
    /**
     * 属性描述: 教师管理
     */
    public static final Integer TM_PERMIT_VALUE = 5;
    /**
     * 属性描述: 学生管理
     */
    public static final Integer SM_PERMIT_VALUE = 6;
    /**
     * 属性描述: 题目管理
     */
    public static final Integer QM_PERMIT_VALUE = 7;
    /**
     * 属性描述: 试卷管理
     */
    public static final Integer PM_PERMIT_VALUE = 8;
    /**
     * 属性描述: 考试信息
     */
    public static final Integer EM_PERMIT_VALUE = 9;
    /**
     * 属性描述: 系统菜单功能  修改密码
     */
    public static final String UPDATE_PWD = "修改密码";
    /**
     * 属性描述: 系统菜单功能  教师管理
     */
    public static final String TEACHER_MANAGER = "教师管理";
    /**
     * 属性描述: 系统菜单功能  学生管理
     */
    public static final String STUDENT_MANAGER = "学生管理";
    /**
     * 属性描述: 系统菜单功能  题目管理
     */
    public static final String QUESTION_MANAGER = "题目管理";
    /**
     * 属性描述: 系统菜单功能  试卷管理
     */
    public static final String PAPER_MANAGER = "试卷管理";
    /**
     * 属性描述: 系统菜单功能  考试信息
     */
    public static final String EXAM_INFO = "考试信息";

    /**
     * 属性描述: 身份信息  老师
     */
    public static final String TEACHER = "老师";
    /**
     * 属性描述: 身份信息  学生
     */
    public static final String STUDENT = "学生";
    /**
     * 属性描述: 身份信息  管理员
     */
    public static final String ADMIN = "管理员";
}
